import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';

const PROBLEM: AppRouteRecordRaw = {
  path: '/problem',
  name: 'problem',
  component: DEFAULT_LAYOUT,
  meta: {
    locale: 'menu.problem',
    requiresAuth: true,
    icon: 'icon-code-sandbox',
    order: 11,
  },
  children: [
    {
      path: 'info', // The midline path complies with SEO specifications
      name: 'ProblemInfo',
      component: () => import('@/views/problem/info/index.vue'),
      meta: {
        locale: 'menu.problem.info',
        requiresAuth: true,
        roles: ['*'],
      },
    },
    {
      path: 'tag', // The midline path complies with SEO specifications
      name: 'Tag',
      component: () => import('@/views/problem/tag/index.vue'),
      meta: {
        locale: 'menu.problem.tag',
        requiresAuth: true,
        roles: ['*'],
      },
    },{
      path: 'compose', // The midline path complies with SEO specifications
      name: 'Compose',
      component: () => import('@/views/problem/compose/index.vue'),
      meta: {
        locale: 'menu.problem.compose',
        requiresAuth: true,
        roles: ['*'],
      },
    },{
      path: 'createProblem', // The midline path complies with SEO specifications
      name: 'CreateProblem',
      component: () => import('@/views/problem/create/index.vue'),
      meta: {
        requiresAuth: true,
        hideInMenu: true,
        roles: ['*'],
      },
    },{
      path: 'problemSample', // The midline path complies with SEO specifications
      name: 'ProblemSample',
      component: () => import('@/views/problem/sample/index.vue'),
      meta: {
        requiresAuth: true,
        hideInMenu: true,
        roles: ['*'],
      },
    },{
      path: 'updateProblem', // The midline path complies with SEO specifications
      name: 'UpdateProblem',
      component: () => import('@/views/problem/update/index.vue'),
      meta: {
        requiresAuth: true,
        hideInMenu: true,
        roles: ['*'],
      },
    },{
      path: 'updateProblem', // The midline path complies with SEO specifications
      name: 'UpdateProblem',
      component: () => import('@/views/problem/update/index.vue'),
      meta: {
        requiresAuth: true,
        hideInMenu: true,
        roles: ['*'],
      },
    },
  ],
};

export default PROBLEM;
